Speech recognition, which is also referred to in some contexts as automatic speech recognition, computer speech recognition, speech to text, or the like, generally refers to technology that can recognize speech and convert spoken words to text or to commands or directions to be followed by a computing system or systems. Speech recognition applications can include, but are not limited to, voice user interfaces such as voice dialing, call routing, control of building convenience or comfort features (e.g. lighting, appliances, climate control, entertainment, etc.), database searching (e.g. for either local databases or networked databases such as those accessible via a local area or wide area network such as the Intranet, data entry, preparation of structured documents, speech-to-text processing for transcription or composing of documents such as letters or e-mails or the like, hands-free computing, control of vehicle functions, or the like.
Speech recognition processes can be computationally and bandwidth (e.g. memory and data transmission) intensive. Speech recognizers designed for embedded devices, such as for example mobile phones and automotive car stereos and navigation systems, generally cannot handle as large of a vocabulary as speech recognizers hosted on servers. In addition, many embedded devices do not currently have the necessary processing power to run multiple speech recognizers simultaneously with real time recognition, particularly under demanding speech recognition conditions, such as less than optimal signal-to-noise ratio (e.g. high levels of environmental noise, acoustic distortion, etc.), support for the use of natural language under continuous speech conditions (e.g. to enable a person to talk to the speech recognizer without altering his or her speech pattern to assist the speech recognizer), support for a variety of languages and dialects, etc.